using System;
using System.Runtime.Serialization;

namespace Sedna.Core.Persistence
{
	/// <summary>
	/// this exception is thrown in case of any state inconsistency that might happen. 
	/// Examples are attempts to get a Session while it has not been open or an attempt to 
	/// commit a transaction while the latter has not been started.
	/// This type of exception mostly part shows that something wrong with either configuration
	/// of the underlying Hibernate DAL or with the code that attempts to use the infrastructure in 
	/// a wrong manner or sequence.
	/// </summary>
    [Serializable]
	public class PstStateException : PstException
	{
		public PstStateException()
		{
		}

		public PstStateException(string message) : base(message)
		{
		}

		public PstStateException(string message, Exception innerException) : base(message, innerException)
		{
		}

        public PstStateException(SerializationInfo info, StreamingContext context)
            : base(info, context) {}
	    
	}
}
